package designPattern.behavioralPattern.chainOfResponsibility.每个处理者都要处理;

import lombok.Data;

/**
 * @author wei.zhao
 * @description: 处理器的信息，维护处理器
 * @date 2021年12月17日 11:02
 */
@Data
public class HandlerContext {

    // 处理器
    private Handler handler;

    public HandlerContext(Handler handler) {
        this.handler = handler;
    }

    // 下一个节点
    private HandlerContext next;

    // 执行当前
    void handler(Object arg) {
        this.handler.doHandler(this, arg);
    }

    //执行下一个
    void runNext(Object arg) {
        if (this.next != null) {
            this.next.handler(arg);
        }
    }

}
